
package CCT220_Aula10_Exercício03_13106;


import java.awt.Color;
import java.util.ArrayList;

import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;


/**
 * Project CCT220:CCT220_Aula10_Exercício03_13106
 * 
 * Um sistema de cadastro de clientes de uma
 * empresa guarda informações sobre nomes,
 * endereços e telefones. Além disso, caso o
 * cliente seja uma pessoa física, seu número de
 * CPF é armazenado e, caso o cliente seja uma
 * pessoa jurídica, seu CNPJ e nome de fantasia da
 * empresa devem ser guardados. A qualquer momento
 * deve ser possível imprimir todos dados de um
 * determinado cliente. Altere a modelagem a
 * seguir, tornando a classe Cliente abstrata.
 * Inclua na classe Cliente o método abstrato
 * imprimirDados. Em seguida, implemente as
 * classes modeladas juntamente com a classe
 * TestaCliente, a qual deve instanciar dois
 * objetos do tipo PessoaFísica e outros dois do
 * tipo PessoaJurídica, os quais devem ser
 * colocados em um vetor. A classe TestaCliente
 * deve imprimir, ao final, as informações de cada
 * cliente instanciado. Deve-se utilizar os
 * conceitos de polimorfismo e classes abstratas
 * para se alcançar o resultado esperado.
 * 
 * @author marcel
 * @author 13106
 * 
 * 
 *         20/09/2011
 */
public class TestaCliente {
	/**
	 * Metodo Main
	 * 
	 * @param args
	 */
	public static void main(String[] args) {

		JTextArea jta = new JTextArea();
		jta.setEditable(false);
		jta.setForeground(Color.BLACK);
		jta.setBackground(new JLabel().getBackground());

		ArrayList<Cliente> array = new ArrayList<Cliente>();

		array.add(new PessoaJuridica("Alvorada",
		        "rua: 1,Bairro: 11, numero: 111", "1111-1111",
		        "1111111111111-11", "Alvoradao"));
		array.add(new PessoaFisica("Antonio", "rua: 3,Bairro: 33, numero: 333",
		        "3333-3333", "3333333333-33"));
		array.add(new PessoaJuridica("Pilar", "rua: 2,Bairro: 22, numero: 222",
		        "2222-2222", "2222222222222-22", "Pilar"));
		array.add(new PessoaFisica("Jose", "rua: 4,Bairro: 44, numero: 444",
		        "4444-11144441", "4444444444-44"));

		for (Cliente c : array) {
			jta.append("\n" + c.imprimirDados());
		}
		JOptionPane.showMessageDialog(null, jta, "Mensagem",
		        JOptionPane.INFORMATION_MESSAGE);

	}
}
